/************************************
 * Package: RGcpp					*
 * Authors: Rui Eduardo Gouveia Gil	*
 * Date: 2010						*
 ************************************/
#include "rgcpp/net/http/MIMETypes.h"

namespace rgcpp
{

Map<std::string,std::string> MIMETypes::mimeTypes;

std::string MIMETypes::findMIMEType(const std::string& fileName)
{
	if(MIMETypes::mimeTypes.empty())
		MIMETypes::createMIMETypes();

	std::string extension(fileName.substr(fileName.find_last_of('.') + 1));
	boost::algorithm::to_lower(extension);

	if(MIMETypes::mimeTypes.find(extension) != MIMETypes::mimeTypes.end())
		return MIMETypes::mimeTypes[extension];

	return "application/octet-stream";
}

void MIMETypes::createMIMETypes()
{
	MIMETypes::mimeTypes["3dm"] = "x-world/x-3dmf";
	MIMETypes::mimeTypes["3dmf"] = "x-world/x-3dmf";
	MIMETypes::mimeTypes["a"] = "application/octet-stream";
	MIMETypes::mimeTypes["aab"] = "application/x-authorware-bin";
	MIMETypes::mimeTypes["aam"] = "application/x-authorware-map";
	MIMETypes::mimeTypes["aas"] = "application/x-authorware-seg";
	MIMETypes::mimeTypes["abc"] = "text/vnd.abc";
	MIMETypes::mimeTypes["acgi"] = "text/html";
	MIMETypes::mimeTypes["afl"] = "video/animaflex";
	MIMETypes::mimeTypes["ai"] = "application/postscript";
	MIMETypes::mimeTypes["aif"] = "audio/aiff";
	MIMETypes::mimeTypes["aif"] = "audio/x-aiff";
	MIMETypes::mimeTypes["aifc"] = "audio/aiff";
	MIMETypes::mimeTypes["aifc"] = "audio/x-aiff";
	MIMETypes::mimeTypes["aiff"] = "audio/aiff";
	MIMETypes::mimeTypes["aiff"] = "audio/x-aiff";
	MIMETypes::mimeTypes["aim"] = "application/x-aim";
	MIMETypes::mimeTypes["aip"] = "text/x-audiosoft-intra";
	MIMETypes::mimeTypes["ani"] = "application/x-navi-animation";
	MIMETypes::mimeTypes["aos"] = "application/x-nokia-9000-communicator-add-on-software";
	MIMETypes::mimeTypes["aps"] = "application/mime";
	MIMETypes::mimeTypes["arc"] = "application/octet-stream";
	MIMETypes::mimeTypes["arj"] = "application/arj";
	MIMETypes::mimeTypes["arj"] = "application/octet-stream";
	MIMETypes::mimeTypes["art"] = "image/x-jg";
	MIMETypes::mimeTypes["asf"] = "video/x-ms-asf";
	MIMETypes::mimeTypes["asm"] = "text/x-asm";
	MIMETypes::mimeTypes["asp"] = "text/asp";
	MIMETypes::mimeTypes["asx"] = "application/x-mplayer2";
	MIMETypes::mimeTypes["asx"] = "video/x-ms-asf";
	MIMETypes::mimeTypes["asx"] = "video/x-ms-asf-plugin";
	MIMETypes::mimeTypes["au"] = "audio/basic";
	MIMETypes::mimeTypes["au"] = "audio/x-au";
	MIMETypes::mimeTypes["avi"] = "application/x-troff-msvideo";
	MIMETypes::mimeTypes["avi"] = "video/avi";
	MIMETypes::mimeTypes["avi"] = "video/msvideo";
	MIMETypes::mimeTypes["avi"] = "video/x-msvideo";
	MIMETypes::mimeTypes["avs"] = "video/avs-video";
	MIMETypes::mimeTypes["bcpio"] = "application/x-bcpio";
	MIMETypes::mimeTypes["bin"] = "application/mac-binary";
	MIMETypes::mimeTypes["bin"] = "application/macbinary";
	MIMETypes::mimeTypes["bin"] = "application/octet-stream";
	MIMETypes::mimeTypes["bin"] = "application/x-binary";
	MIMETypes::mimeTypes["bin"] = "application/x-macbinary";
	MIMETypes::mimeTypes["bm"] = "image/bmp";
	MIMETypes::mimeTypes["bmp"] = "image/bmp";
	MIMETypes::mimeTypes["bmp"] = "image/x-windows-bmp";
	MIMETypes::mimeTypes["boo"] = "application/book";
	MIMETypes::mimeTypes["book"] = "application/book";
	MIMETypes::mimeTypes["boz"] = "application/x-bzip2";
	MIMETypes::mimeTypes["bsh"] = "application/x-bsh";
	MIMETypes::mimeTypes["bz"] = "application/x-bzip";
	MIMETypes::mimeTypes["bz2"] = "application/x-bzip2";
	MIMETypes::mimeTypes["c"] = "text/plain";
	MIMETypes::mimeTypes["c"] = "text/x-c";
	MIMETypes::mimeTypes["c++"] = "text/plain";
	MIMETypes::mimeTypes["cat"] = "application/vnd.ms-pki.seccat";
	MIMETypes::mimeTypes["cc"] = "text/plain";
	MIMETypes::mimeTypes["cc"] = "text/x-c";
	MIMETypes::mimeTypes["ccad"] = "application/clariscad";
	MIMETypes::mimeTypes["cco"] = "application/x-cocoa";
	MIMETypes::mimeTypes["cdf"] = "application/cdf";
	MIMETypes::mimeTypes["cdf"] = "application/x-cdf";
	MIMETypes::mimeTypes["cdf"] = "application/x-netcdf";
	MIMETypes::mimeTypes["cer"] = "application/pkix-cert";
	MIMETypes::mimeTypes["cer"] = "application/x-x509-ca-cert";
	MIMETypes::mimeTypes["cha"] = "application/x-chat";
	MIMETypes::mimeTypes["chat"] = "application/x-chat";
	MIMETypes::mimeTypes["class"] = "application/java";
	MIMETypes::mimeTypes["class"] = "application/java-byte-code";
	MIMETypes::mimeTypes["class"] = "application/x-java-class";
	MIMETypes::mimeTypes["com"] = "application/octet-stream";
	MIMETypes::mimeTypes["com"] = "text/plain";
	MIMETypes::mimeTypes["conf"] = "text/plain";
	MIMETypes::mimeTypes["cpio"] = "application/x-cpio";
	MIMETypes::mimeTypes["cpp"] = "text/x-c";
	MIMETypes::mimeTypes["cpt"] = "application/mac-compactpro";
	MIMETypes::mimeTypes["cpt"] = "application/x-compactpro";
	MIMETypes::mimeTypes["cpt"] = "application/x-cpt";
	MIMETypes::mimeTypes["crl"] = "application/pkcs-crl";
	MIMETypes::mimeTypes["crl"] = "application/pkix-crl";
	MIMETypes::mimeTypes["crt"] = "application/pkix-cert";
	MIMETypes::mimeTypes["crt"] = "application/x-x509-ca-cert";
	MIMETypes::mimeTypes["crt"] = "application/x-x509-user-cert";
	MIMETypes::mimeTypes["csh"] = "application/x-csh";
	MIMETypes::mimeTypes["csh"] = "text/x-script.csh";
	MIMETypes::mimeTypes["css"] = "application/x-pointplus";
	MIMETypes::mimeTypes["css"] = "text/css";
	MIMETypes::mimeTypes["cxx"] = "text/plain";
	MIMETypes::mimeTypes["dcr"] = "application/x-director";
	MIMETypes::mimeTypes["deepv"] = "application/x-deepv";
	MIMETypes::mimeTypes["def"] = "text/plain";
	MIMETypes::mimeTypes["der"] = "application/x-x509-ca-cert";
	MIMETypes::mimeTypes["dif"] = "video/x-dv";
	MIMETypes::mimeTypes["dir"] = "application/x-director";
	MIMETypes::mimeTypes["dl"] = "video/dl";
	MIMETypes::mimeTypes["dl"] = "video/x-dl";
	MIMETypes::mimeTypes["doc"] = "application/msword";
	MIMETypes::mimeTypes["dot"] = "application/msword";
	MIMETypes::mimeTypes["dp"] = "application/commonground";
	MIMETypes::mimeTypes["drw"] = "application/drafting";
	MIMETypes::mimeTypes["dump"] = "application/octet-stream";
	MIMETypes::mimeTypes["dv"] = "video/x-dv";
	MIMETypes::mimeTypes["dvi"] = "application/x-dvi";
	MIMETypes::mimeTypes["dwf"] = "drawing/x-dwf";
	MIMETypes::mimeTypes["dwf"] = "configuration/vnd.dwf";
	MIMETypes::mimeTypes["dwg"] = "application/acad";
	MIMETypes::mimeTypes["dwg"] = "image/vnd.dwg";
	MIMETypes::mimeTypes["dwg"] = "image/x-dwg";
	MIMETypes::mimeTypes["dxf"] = "application/dxf";
	MIMETypes::mimeTypes["dxf"] = "image/vnd.dwg";
	MIMETypes::mimeTypes["dxf"] = "image/x-dwg";
	MIMETypes::mimeTypes["dxr"] = "application/x-director";
	MIMETypes::mimeTypes["el"] = "text/x-script.elisp";
	MIMETypes::mimeTypes["elc"] = "application/x-bytecode.elisp";
	MIMETypes::mimeTypes["elc"] = "application/x-elc";
	MIMETypes::mimeTypes["env"] = "application/x-envoy";
	MIMETypes::mimeTypes["eps"] = "application/postscript";
	MIMETypes::mimeTypes["es"] = "application/x-esrehber";
	MIMETypes::mimeTypes["etx"] = "text/x-setext";
	MIMETypes::mimeTypes["evy"] = "application/envoy";
	MIMETypes::mimeTypes["evy"] = "application/x-envoy";
	MIMETypes::mimeTypes["exe"] = "application/octet-stream";
	MIMETypes::mimeTypes["f"] = "text/plain";
	MIMETypes::mimeTypes["f"] = "text/x-fortran";
	MIMETypes::mimeTypes["f77"] = "text/x-fortran";
	MIMETypes::mimeTypes["f90"] = "text/plain";
	MIMETypes::mimeTypes["f90"] = "text/x-fortran";
	MIMETypes::mimeTypes["fdf"] = "application/vnd.fdf";
	MIMETypes::mimeTypes["fif"] = "application/fractals";
	MIMETypes::mimeTypes["fif"] = "image/fif";
	MIMETypes::mimeTypes["fli"] = "video/fli";
	MIMETypes::mimeTypes["fli"] = "video/x-fli";
	MIMETypes::mimeTypes["flo"] = "image/florian";
	MIMETypes::mimeTypes["flx"] = "text/vnd.fmi.flexstor";
	MIMETypes::mimeTypes["fmf"] = "video/x-atomic3d-feature";
	MIMETypes::mimeTypes["for"] = "text/plain";
	MIMETypes::mimeTypes["for"] = "text/x-fortran";
	MIMETypes::mimeTypes["fpx"] = "image/vnd.fpx";
	MIMETypes::mimeTypes["fpx"] = "image/vnd.net-fpx";
	MIMETypes::mimeTypes["frl"] = "application/freeloader";
	MIMETypes::mimeTypes["funk"] = "audio/make";
	MIMETypes::mimeTypes["g"] = "text/plain";
	MIMETypes::mimeTypes["g3"] = "image/g3fax";
	MIMETypes::mimeTypes["gif"] = "image/gif";
	MIMETypes::mimeTypes["gl"] = "video/gl";
	MIMETypes::mimeTypes["gl"] = "video/x-gl";
	MIMETypes::mimeTypes["gsd"] = "audio/x-gsm";
	MIMETypes::mimeTypes["gsm"] = "audio/x-gsm";
	MIMETypes::mimeTypes["gsp"] = "application/x-gsp";
	MIMETypes::mimeTypes["gss"] = "application/x-gss";
	MIMETypes::mimeTypes["gtar"] = "application/x-gtar";
	MIMETypes::mimeTypes["gz"] = "application/x-compressed";
	MIMETypes::mimeTypes["gz"] = "application/x-gzip";
	MIMETypes::mimeTypes["gzip"] = "application/x-gzip";
	MIMETypes::mimeTypes["gzip"] = "multipart/x-gzip";
	MIMETypes::mimeTypes["h"] = "text/plain";
	MIMETypes::mimeTypes["h"] = "text/x-h";
	MIMETypes::mimeTypes["hdf"] = "application/x-hdf";
	MIMETypes::mimeTypes["help"] = "application/x-helpfile";
	MIMETypes::mimeTypes["hgl"] = "application/vnd.hp-hpgl";
	MIMETypes::mimeTypes["hh"] = "text/plain";
	MIMETypes::mimeTypes["hh"] = "text/x-h";
	MIMETypes::mimeTypes["hlb"] = "text/x-script";
	MIMETypes::mimeTypes["hlp"] = "application/hlp";
	MIMETypes::mimeTypes["hlp"] = "application/x-helpfile";
	MIMETypes::mimeTypes["hlp"] = "application/x-winhelp";
	MIMETypes::mimeTypes["hpg"] = "application/vnd.hp-hpgl";
	MIMETypes::mimeTypes["hpgl"] = "application/vnd.hp-hpgl";
	MIMETypes::mimeTypes["hqx"] = "application/binhex";
	MIMETypes::mimeTypes["hqx"] = "application/binhex4";
	MIMETypes::mimeTypes["hqx"] = "application/mac-binhex";
	MIMETypes::mimeTypes["hqx"] = "application/mac-binhex40";
	MIMETypes::mimeTypes["hqx"] = "application/x-binhex40";
	MIMETypes::mimeTypes["hqx"] = "application/x-mac-binhex40";
	MIMETypes::mimeTypes["hta"] = "application/hta";
	MIMETypes::mimeTypes["htc"] = "text/x-component";
	MIMETypes::mimeTypes["htm"] = "text/html";
	MIMETypes::mimeTypes["html"] = "text/html";
	MIMETypes::mimeTypes["htmls"] = "text/html";
	MIMETypes::mimeTypes["htt"] = "text/webviewhtml";
	MIMETypes::mimeTypes["htx"] = "text/html";
	MIMETypes::mimeTypes["ice"] = "x-conference/x-cooltalk";
	MIMETypes::mimeTypes["ico"] = "image/x-icon";
	MIMETypes::mimeTypes["idc"] = "text/plain";
	MIMETypes::mimeTypes["ief"] = "image/ief";
	MIMETypes::mimeTypes["iefs"] = "image/ief";
	MIMETypes::mimeTypes["iges"] = "application/iges";
	MIMETypes::mimeTypes["iges"] = "configuration/iges";
	MIMETypes::mimeTypes["igs"] = "application/iges";
	MIMETypes::mimeTypes["igs"] = "configuration/iges";
	MIMETypes::mimeTypes["ima"] = "application/x-ima";
	MIMETypes::mimeTypes["imap"] = "application/x-httpd-imap";
	MIMETypes::mimeTypes["inf"] = "application/inf";
	MIMETypes::mimeTypes["ins"] = "application/x-internett-signup";
	MIMETypes::mimeTypes["ip"] = "application/x-ip2";
	MIMETypes::mimeTypes["isu"] = "video/x-isvideo";
	MIMETypes::mimeTypes["it"] = "audio/it";
	MIMETypes::mimeTypes["iv"] = "application/x-inventor";
	MIMETypes::mimeTypes["ivr"] = "i-world/i-vrml";
	MIMETypes::mimeTypes["ivy"] = "application/x-livescreen";
	MIMETypes::mimeTypes["jam"] = "audio/x-jam";
	MIMETypes::mimeTypes["jav"] = "text/plain";
	MIMETypes::mimeTypes["jav"] = "text/x-java-source";
	MIMETypes::mimeTypes["java"] = "text/plain";
	MIMETypes::mimeTypes["java"] = "text/x-java-source";
	MIMETypes::mimeTypes["jcm"] = "application/x-java-commerce";
	MIMETypes::mimeTypes["jfif"] = "image/jpeg";
	MIMETypes::mimeTypes["jfif-tbnl"] = "image/jpeg";
	MIMETypes::mimeTypes["jpe"] = "image/jpeg";
	MIMETypes::mimeTypes["jpeg"] = "image/jpeg";
	MIMETypes::mimeTypes["jpg"] = "image/jpeg";
	MIMETypes::mimeTypes["jps"] = "image/x-jps";
	MIMETypes::mimeTypes["js"] = "application/x-javascript";
	MIMETypes::mimeTypes["js"] = "application/javascript";
	MIMETypes::mimeTypes["js"] = "application/ecmascript";
	MIMETypes::mimeTypes["js"] = "text/javascript";
	MIMETypes::mimeTypes["js"] = "text/ecmascript";
	MIMETypes::mimeTypes["jut"] = "image/jutvision";
	MIMETypes::mimeTypes["kar"] = "audio/midi";
	MIMETypes::mimeTypes["kar"] = "music/x-karaoke";
	MIMETypes::mimeTypes["ksh"] = "application/x-ksh";
	MIMETypes::mimeTypes["ksh"] = "text/x-script.ksh";
	MIMETypes::mimeTypes["la"] = "audio/nspaudio";
	MIMETypes::mimeTypes["la"] = "audio/x-nspaudio";
	MIMETypes::mimeTypes["lam"] = "audio/x-liveaudio";
	MIMETypes::mimeTypes["latex"] = "application/x-latex";
	MIMETypes::mimeTypes["lha"] = "application/lha";
	MIMETypes::mimeTypes["lha"] = "application/octet-stream";
	MIMETypes::mimeTypes["lha"] = "application/x-lha";
	MIMETypes::mimeTypes["lhx"] = "application/octet-stream";
	MIMETypes::mimeTypes["list"] = "text/plain";
	MIMETypes::mimeTypes["lma"] = "audio/nspaudio";
	MIMETypes::mimeTypes["lma"] = "audio/x-nspaudio";
	MIMETypes::mimeTypes["log"] = "text/plain";
	MIMETypes::mimeTypes["lsp"] = "application/x-lisp";
	MIMETypes::mimeTypes["lsp"] = "text/x-script.lisp";
	MIMETypes::mimeTypes["lst"] = "text/plain";
	MIMETypes::mimeTypes["lsx"] = "text/x-la-asf";
	MIMETypes::mimeTypes["ltx"] = "application/x-latex";
	MIMETypes::mimeTypes["lzh"] = "application/octet-stream";
	MIMETypes::mimeTypes["lzh"] = "application/x-lzh";
	MIMETypes::mimeTypes["lzx"] = "application/lzx";
	MIMETypes::mimeTypes["lzx"] = "application/octet-stream";
	MIMETypes::mimeTypes["lzx"] = "application/x-lzx";
	MIMETypes::mimeTypes["m"] = "text/plain";
	MIMETypes::mimeTypes["m"] = "text/x-m";
	MIMETypes::mimeTypes["m1v"] = "video/mpeg";
	MIMETypes::mimeTypes["m2a"] = "audio/mpeg";
	MIMETypes::mimeTypes["m2v"] = "video/mpeg";
	MIMETypes::mimeTypes["m3u"] = "audio/x-mpequrl";
	MIMETypes::mimeTypes["man"] = "application/x-troff-man";
	MIMETypes::mimeTypes["map"] = "application/x-navimap";
	MIMETypes::mimeTypes["mar"] = "text/plain";
	MIMETypes::mimeTypes["mbd"] = "application/mbedlet";
	MIMETypes::mimeTypes["mc$"] = "application/x-magic-cap-package-1.0";
	MIMETypes::mimeTypes["mcd"] = "application/mcad";
	MIMETypes::mimeTypes["mcd"] = "application/x-mathcad";
	MIMETypes::mimeTypes["mcf"] = "image/vasa";
	MIMETypes::mimeTypes["mcf"] = "text/mcf";
	MIMETypes::mimeTypes["mcp"] = "application/netmc";
	MIMETypes::mimeTypes["me"] = "application/x-troff-me";
	MIMETypes::mimeTypes["mht"] = "message/rfc822";
	MIMETypes::mimeTypes["mhtml"] = "message/rfc822";
	MIMETypes::mimeTypes["mid"] = "application/x-midi";
	MIMETypes::mimeTypes["mid"] = "audio/midi";
	MIMETypes::mimeTypes["mid"] = "audio/x-mid";
	MIMETypes::mimeTypes["mid"] = "audio/x-midi";
	MIMETypes::mimeTypes["mid"] = "music/crescendo";
	MIMETypes::mimeTypes["mid"] = "x-music/x-midi";
	MIMETypes::mimeTypes["midi"] = "application/x-midi";
	MIMETypes::mimeTypes["midi"] = "audio/midi";
	MIMETypes::mimeTypes["midi"] = "audio/x-mid";
	MIMETypes::mimeTypes["midi"] = "audio/x-midi";
	MIMETypes::mimeTypes["midi"] = "music/crescendo";
	MIMETypes::mimeTypes["midi"] = "x-music/x-midi";
	MIMETypes::mimeTypes["mif"] = "application/x-frame";
	MIMETypes::mimeTypes["mif"] = "application/x-mif";
	MIMETypes::mimeTypes["mime"] = "message/rfc822";
	MIMETypes::mimeTypes["mime"] = "www/mime";
	MIMETypes::mimeTypes["mjf"] = "audio/x-vnd.audioexplosion.mjuicemediafile";
	MIMETypes::mimeTypes["mjpg"] = "video/x-motion-jpeg";
	MIMETypes::mimeTypes["mm"] = "application/base64";
	MIMETypes::mimeTypes["mm"] = "application/x-meme";
	MIMETypes::mimeTypes["mme"] = "application/base64";
	MIMETypes::mimeTypes["mod"] = "audio/mod";
	MIMETypes::mimeTypes["mod"] = "audio/x-mod";
	MIMETypes::mimeTypes["moov"] = "video/quicktime";
	MIMETypes::mimeTypes["mov"] = "video/quicktime";
	MIMETypes::mimeTypes["movie"] = "video/x-sgi-movie";
	MIMETypes::mimeTypes["mp2"] = "audio/mpeg";
	MIMETypes::mimeTypes["mp2"] = "audio/x-mpeg";
	MIMETypes::mimeTypes["mp2"] = "video/mpeg";
	MIMETypes::mimeTypes["mp2"] = "video/x-mpeg";
	MIMETypes::mimeTypes["mp2"] = "video/x-mpeq2a";
	MIMETypes::mimeTypes["mp3"] = "audio/mpeg3";
	MIMETypes::mimeTypes["mp3"] = "audio/x-mpeg-3";
	MIMETypes::mimeTypes["mp3"] = "video/mpeg";
	MIMETypes::mimeTypes["mp3"] = "video/x-mpeg";
	MIMETypes::mimeTypes["mpa"] = "audio/mpeg";
	MIMETypes::mimeTypes["mpa"] = "video/mpeg";
	MIMETypes::mimeTypes["mpc"] = "application/x-project";
	MIMETypes::mimeTypes["mpe"] = "video/mpeg";
	MIMETypes::mimeTypes["mpeg"] = "video/mpeg";
	MIMETypes::mimeTypes["mpg"] = "audio/mpeg";
	MIMETypes::mimeTypes["mpg"] = "video/mpeg";
	MIMETypes::mimeTypes["mpga"] = "audio/mpeg";
	MIMETypes::mimeTypes["mpp"] = "application/vnd.ms-project";
	MIMETypes::mimeTypes["mpt"] = "application/x-project";
	MIMETypes::mimeTypes["mpv"] = "application/x-project";
	MIMETypes::mimeTypes["mpx"] = "application/x-project";
	MIMETypes::mimeTypes["mrc"] = "application/marc";
	MIMETypes::mimeTypes["ms"] = "application/x-troff-ms";
	MIMETypes::mimeTypes["mv"] = "video/x-sgi-movie";
	MIMETypes::mimeTypes["my"] = "audio/make";
	MIMETypes::mimeTypes["mzz"] = "application/x-vnd.audioexplosion.mzz";
	MIMETypes::mimeTypes["nap"] = "image/naplps";
	MIMETypes::mimeTypes["naplps"] = "image/naplps";
	MIMETypes::mimeTypes["nc"] = "application/x-netcdf";
	MIMETypes::mimeTypes["ncm"] = "application/vnd.nokia.configuration-message";
	MIMETypes::mimeTypes["nif"] = "image/x-niff";
	MIMETypes::mimeTypes["niff"] = "image/x-niff";
	MIMETypes::mimeTypes["nix"] = "application/x-mix-transfer";
	MIMETypes::mimeTypes["nsc"] = "application/x-conference";
	MIMETypes::mimeTypes["nvd"] = "application/x-navidoc";
	MIMETypes::mimeTypes["o"] = "application/octet-stream";
	MIMETypes::mimeTypes["oda"] = "application/oda";
	MIMETypes::mimeTypes["omc"] = "application/x-omc";
	MIMETypes::mimeTypes["omcd"] = "application/x-omcdatamaker";
	MIMETypes::mimeTypes["omcr"] = "application/x-omcregerator";
	MIMETypes::mimeTypes["p"] = "text/x-pascal";
	MIMETypes::mimeTypes["p10"] = "application/pkcs10";
	MIMETypes::mimeTypes["p10"] = "application/x-pkcs10";
	MIMETypes::mimeTypes["p12"] = "application/pkcs-12";
	MIMETypes::mimeTypes["p12"] = "application/x-pkcs12";
	MIMETypes::mimeTypes["p7a"] = "application/x-pkcs7-signature";
	MIMETypes::mimeTypes["p7c"] = "application/pkcs7-mime";
	MIMETypes::mimeTypes["p7c"] = "application/x-pkcs7-mime";
	MIMETypes::mimeTypes["p7m"] = "application/pkcs7-mime";
	MIMETypes::mimeTypes["p7m"] = "application/x-pkcs7-mime";
	MIMETypes::mimeTypes["p7r"] = "application/x-pkcs7-certreqresp";
	MIMETypes::mimeTypes["p7s"] = "application/pkcs7-signature";
	MIMETypes::mimeTypes["part"] = "application/pro_eng";
	MIMETypes::mimeTypes["pas"] = "text/pascal";
	MIMETypes::mimeTypes["pbm"] = "image/x-portable-bitmap";
	MIMETypes::mimeTypes["pcl"] = "application/vnd.hp-pcl";
	MIMETypes::mimeTypes["pcl"] = "application/x-pcl";
	MIMETypes::mimeTypes["pct"] = "image/x-pict";
	MIMETypes::mimeTypes["pcx"] = "image/x-pcx";
	MIMETypes::mimeTypes["pdb"] = "chemical/x-pdb";
	MIMETypes::mimeTypes["pdf"] = "application/pdf";
	MIMETypes::mimeTypes["pfunk"] = "audio/make";
	MIMETypes::mimeTypes["pfunk"] = "audio/make.my.funk";
	MIMETypes::mimeTypes["pgm"] = "image/x-portable-graymap";
	MIMETypes::mimeTypes["pgm"] = "image/x-portable-greymap";
	MIMETypes::mimeTypes["pic"] = "image/pict";
	MIMETypes::mimeTypes["pict"] = "image/pict";
	MIMETypes::mimeTypes["pkg"] = "application/x-newton-compatible-pkg";
	MIMETypes::mimeTypes["pko"] = "application/vnd.ms-pki.pko";
	MIMETypes::mimeTypes["pl"] = "text/plain";
	MIMETypes::mimeTypes["pl"] = "text/x-script.perl";
	MIMETypes::mimeTypes["plx"] = "application/x-pixclscript";
	MIMETypes::mimeTypes["pm"] = "image/x-xpixmap";
	MIMETypes::mimeTypes["pm"] = "text/x-script.perl-module";
	MIMETypes::mimeTypes["pm4"] = "application/x-pagemaker";
	MIMETypes::mimeTypes["pm5"] = "application/x-pagemaker";
	MIMETypes::mimeTypes["png"] = "image/png";
	MIMETypes::mimeTypes["pnm"] = "application/x-portable-anymap";
	MIMETypes::mimeTypes["pnm"] = "image/x-portable-anymap";
	MIMETypes::mimeTypes["pot"] = "application/mspowerpoint";
	MIMETypes::mimeTypes["pot"] = "application/vnd.ms-powerpoint";
	MIMETypes::mimeTypes["pov"] = "configuration/x-pov";
	MIMETypes::mimeTypes["ppa"] = "application/vnd.ms-powerpoint";
	MIMETypes::mimeTypes["ppm"] = "image/x-portable-pixmap";
	MIMETypes::mimeTypes["pps"] = "application/mspowerpoint";
	MIMETypes::mimeTypes["pps"] = "application/vnd.ms-powerpoint";
	MIMETypes::mimeTypes["ppt"] = "application/mspowerpoint";
	MIMETypes::mimeTypes["ppt"] = "application/powerpoint";
	MIMETypes::mimeTypes["ppt"] = "application/vnd.ms-powerpoint";
	MIMETypes::mimeTypes["ppt"] = "application/x-mspowerpoint";
	MIMETypes::mimeTypes["ppz"] = "application/mspowerpoint";
	MIMETypes::mimeTypes["pre"] = "application/x-freelance";
	MIMETypes::mimeTypes["prt"] = "application/pro_eng";
	MIMETypes::mimeTypes["ps"] = "application/postscript";
	MIMETypes::mimeTypes["psd"] = "application/octet-stream";
	MIMETypes::mimeTypes["pvu"] = "paleovu/x-pv";
	MIMETypes::mimeTypes["pwz"] = "application/vnd.ms-powerpoint";
	MIMETypes::mimeTypes["py"] = "text/x-script.phyton";
	MIMETypes::mimeTypes["pyc"] = "applicaiton/x-bytecode.python";
	MIMETypes::mimeTypes["qcp"] = "audio/vnd.qcelp";
	MIMETypes::mimeTypes["qd3"] = "x-world/x-3dmf";
	MIMETypes::mimeTypes["qd3d"] = "x-world/x-3dmf";
	MIMETypes::mimeTypes["qif"] = "image/x-quicktime";
	MIMETypes::mimeTypes["qt"] = "video/quicktime";
	MIMETypes::mimeTypes["qtc"] = "video/x-qtc";
	MIMETypes::mimeTypes["qti"] = "image/x-quicktime";
	MIMETypes::mimeTypes["qtif"] = "image/x-quicktime";
	MIMETypes::mimeTypes["ra"] = "audio/x-pn-realaudio";
	MIMETypes::mimeTypes["ra"] = "audio/x-pn-realaudio-plugin";
	MIMETypes::mimeTypes["ra"] = "audio/x-realaudio";
	MIMETypes::mimeTypes["ram"] = "audio/x-pn-realaudio";
	MIMETypes::mimeTypes["ras"] = "application/x-cmu-raster";
	MIMETypes::mimeTypes["ras"] = "image/cmu-raster";
	MIMETypes::mimeTypes["ras"] = "image/x-cmu-raster";
	MIMETypes::mimeTypes["rast"] = "image/cmu-raster";
	MIMETypes::mimeTypes["rexx"] = "text/x-script.rexx";
	MIMETypes::mimeTypes["rf"] = "image/vnd.rn-realflash";
	MIMETypes::mimeTypes["rgb"] = "image/x-rgb";
	MIMETypes::mimeTypes["rm"] = "application/vnd.rn-realmedia";
	MIMETypes::mimeTypes["rm"] = "audio/x-pn-realaudio";
	MIMETypes::mimeTypes["rmi"] = "audio/mid";
	MIMETypes::mimeTypes["rmm"] = "audio/x-pn-realaudio";
	MIMETypes::mimeTypes["rmp"] = "audio/x-pn-realaudio";
	MIMETypes::mimeTypes["rmp"] = "audio/x-pn-realaudio-plugin";
	MIMETypes::mimeTypes["rng"] = "application/ringing-tones";
	MIMETypes::mimeTypes["rng"] = "application/vnd.nokia.ringing-tone";
	MIMETypes::mimeTypes["rnx"] = "application/vnd.rn-realplayer";
	MIMETypes::mimeTypes["roff"] = "application/x-troff";
	MIMETypes::mimeTypes["rp"] = "image/vnd.rn-realpix";
	MIMETypes::mimeTypes["rpm"] = "audio/x-pn-realaudio-plugin";
	MIMETypes::mimeTypes["rt"] = "text/richtext";
	MIMETypes::mimeTypes["rt"] = "text/vnd.rn-realtext";
	MIMETypes::mimeTypes["rtf"] = "application/rtf";
	MIMETypes::mimeTypes["rtf"] = "application/x-rtf";
	MIMETypes::mimeTypes["rtf"] = "text/richtext";
	MIMETypes::mimeTypes["rtx"] = "application/rtf";
	MIMETypes::mimeTypes["rtx"] = "text/richtext";
	MIMETypes::mimeTypes["rv"] = "video/vnd.rn-realvideo";
	MIMETypes::mimeTypes["s"] = "text/x-asm";
	MIMETypes::mimeTypes["s3m"] = "audio/s3m";
	MIMETypes::mimeTypes["saveme"] = "application/octet-stream";
	MIMETypes::mimeTypes["sbk"] = "application/x-tbook";
	MIMETypes::mimeTypes["scm"] = "application/x-lotusscreencam";
	MIMETypes::mimeTypes["scm"] = "text/x-script.guile";
	MIMETypes::mimeTypes["scm"] = "text/x-script.scheme";
	MIMETypes::mimeTypes["scm"] = "video/x-scm";
	MIMETypes::mimeTypes["sdml"] = "text/plain";
	MIMETypes::mimeTypes["sdp"] = "application/sdp";
	MIMETypes::mimeTypes["sdp"] = "application/x-sdp";
	MIMETypes::mimeTypes["sdr"] = "application/sounder";
	MIMETypes::mimeTypes["sea"] = "application/sea";
	MIMETypes::mimeTypes["sea"] = "application/x-sea";
	MIMETypes::mimeTypes["set"] = "application/set";
	MIMETypes::mimeTypes["sgm"] = "text/sgml";
	MIMETypes::mimeTypes["sgm"] = "text/x-sgml";
	MIMETypes::mimeTypes["sgml"] = "text/sgml";
	MIMETypes::mimeTypes["sgml"] = "text/x-sgml";
	MIMETypes::mimeTypes["sh"] = "application/x-bsh";
	MIMETypes::mimeTypes["sh"] = "application/x-sh";
	MIMETypes::mimeTypes["sh"] = "application/x-shar";
	MIMETypes::mimeTypes["sh"] = "text/x-script.sh";
	MIMETypes::mimeTypes["shar"] = "application/x-bsh";
	MIMETypes::mimeTypes["shar"] = "application/x-shar";
	MIMETypes::mimeTypes["shtml"] = "text/html";
	MIMETypes::mimeTypes["shtml"] = "text/x-server-parsed-html";
	MIMETypes::mimeTypes["sid"] = "audio/x-psid";
	MIMETypes::mimeTypes["sit"] = "application/x-sit";
	MIMETypes::mimeTypes["sit"] = "application/x-stuffit";
	MIMETypes::mimeTypes["skd"] = "application/x-koan";
	MIMETypes::mimeTypes["skm"] = "application/x-koan";
	MIMETypes::mimeTypes["skp"] = "application/x-koan";
	MIMETypes::mimeTypes["skt"] = "application/x-koan";
	MIMETypes::mimeTypes["sl"] = "application/x-seelogo";
	MIMETypes::mimeTypes["smi"] = "application/smil";
	MIMETypes::mimeTypes["smil"] = "application/smil";
	MIMETypes::mimeTypes["snd"] = "audio/basic";
	MIMETypes::mimeTypes["snd"] = "audio/x-adpcm";
	MIMETypes::mimeTypes["sol"] = "application/solids";
	MIMETypes::mimeTypes["spc"] = "application/x-pkcs7-certificates";
	MIMETypes::mimeTypes["spc"] = "text/x-speech";
	MIMETypes::mimeTypes["spl"] = "application/futuresplash";
	MIMETypes::mimeTypes["spr"] = "application/x-sprite";
	MIMETypes::mimeTypes["sprite"] = "application/x-sprite";
	MIMETypes::mimeTypes["src"] = "application/x-wais-source";
	MIMETypes::mimeTypes["ssi"] = "text/x-server-parsed-html";
	MIMETypes::mimeTypes["ssm"] = "application/streamingmedia";
	MIMETypes::mimeTypes["sst"] = "application/vnd.ms-pki.certstore";
	MIMETypes::mimeTypes["step"] = "application/step";
	MIMETypes::mimeTypes["stl"] = "application/sla";
	MIMETypes::mimeTypes["stl"] = "application/vnd.ms-pki.stl";
	MIMETypes::mimeTypes["stl"] = "application/x-navistyle";
	MIMETypes::mimeTypes["stp"] = "application/step";
	MIMETypes::mimeTypes["sv4cpio"] = "application/x-sv4cpio";
	MIMETypes::mimeTypes["sv4crc"] = "application/x-sv4crc";
	MIMETypes::mimeTypes["svf"] = "image/vnd.dwg";
	MIMETypes::mimeTypes["svf"] = "image/x-dwg";
	MIMETypes::mimeTypes["svr"] = "application/x-world";
	MIMETypes::mimeTypes["svr"] = "x-world/x-svr";
	MIMETypes::mimeTypes["swf"] = "application/x-shockwave-flash";
	MIMETypes::mimeTypes["t"] = "application/x-troff";
	MIMETypes::mimeTypes["talk"] = "text/x-speech";
	MIMETypes::mimeTypes["tar"] = "application/x-tar";
	MIMETypes::mimeTypes["tbk"] = "application/toolbook";
	MIMETypes::mimeTypes["tbk"] = "application/x-tbook";
	MIMETypes::mimeTypes["tcl"] = "application/x-tcl";
	MIMETypes::mimeTypes["tcl"] = "text/x-script.tcl";
	MIMETypes::mimeTypes["tcsh"] = "text/x-script.tcsh";
	MIMETypes::mimeTypes["tex"] = "application/x-tex";
	MIMETypes::mimeTypes["texi"] = "application/x-texinfo";
	MIMETypes::mimeTypes["texinfo"] = "application/x-texinfo";
	MIMETypes::mimeTypes["text"] = "application/plain";
	MIMETypes::mimeTypes["text"] = "text/plain";
	MIMETypes::mimeTypes["tgz"] = "application/gnutar";
	MIMETypes::mimeTypes["tgz"] = "application/x-compressed";
	MIMETypes::mimeTypes["tif"] = "image/tiff";
	MIMETypes::mimeTypes["tif"] = "image/x-tiff";
	MIMETypes::mimeTypes["tiff"] = "image/tiff";
	MIMETypes::mimeTypes["tiff"] = "image/x-tiff";
	MIMETypes::mimeTypes["tr"] = "application/x-troff";
	MIMETypes::mimeTypes["tsi"] = "audio/tsp-audio";
	MIMETypes::mimeTypes["tsp"] = "application/dsptype";
	MIMETypes::mimeTypes["tsp"] = "audio/tsplayer";
	MIMETypes::mimeTypes["tsv"] = "text/tab-separated-values";
	MIMETypes::mimeTypes["turbot"] = "image/florian";
	MIMETypes::mimeTypes["txt"] = "text/plain";
	MIMETypes::mimeTypes["uil"] = "text/x-uil";
	MIMETypes::mimeTypes["uni"] = "text/uri-list";
	MIMETypes::mimeTypes["unis"] = "text/uri-list";
	MIMETypes::mimeTypes["unv"] = "application/i-deas";
	MIMETypes::mimeTypes["uri"] = "text/uri-list";
	MIMETypes::mimeTypes["uris"] = "text/uri-list";
	MIMETypes::mimeTypes["ustar"] = "application/x-ustar";
	MIMETypes::mimeTypes["ustar"] = "multipart/x-ustar";
	MIMETypes::mimeTypes["uu"] = "application/octet-stream";
	MIMETypes::mimeTypes["uu"] = "text/x-uuencode";
	MIMETypes::mimeTypes["uue"] = "text/x-uuencode";
	MIMETypes::mimeTypes["vcd"] = "application/x-cdlink";
	MIMETypes::mimeTypes["vcs"] = "text/x-vcalendar";
	MIMETypes::mimeTypes["vda"] = "application/vda";
	MIMETypes::mimeTypes["vdo"] = "video/vdo";
	MIMETypes::mimeTypes["vew"] = "application/groupwise";
	MIMETypes::mimeTypes["viv"] = "video/vivo";
	MIMETypes::mimeTypes["viv"] = "video/vnd.vivo";
	MIMETypes::mimeTypes["vivo"] = "video/vivo";
	MIMETypes::mimeTypes["vivo"] = "video/vnd.vivo";
	MIMETypes::mimeTypes["vmd"] = "application/vocaltec-media-desc";
	MIMETypes::mimeTypes["vmf"] = "application/vocaltec-media-file";
	MIMETypes::mimeTypes["voc"] = "audio/voc";
	MIMETypes::mimeTypes["voc"] = "audio/x-voc";
	MIMETypes::mimeTypes["vos"] = "video/vosaic";
	MIMETypes::mimeTypes["vox"] = "audio/voxware";
	MIMETypes::mimeTypes["vqe"] = "audio/x-twinvq-plugin";
	MIMETypes::mimeTypes["vqf"] = "audio/x-twinvq";
	MIMETypes::mimeTypes["vql"] = "audio/x-twinvq-plugin";
	MIMETypes::mimeTypes["vrml"] = "application/x-vrml";
	MIMETypes::mimeTypes["vrml"] = "configuration/vrml";
	MIMETypes::mimeTypes["vrml"] = "x-world/x-vrml";
	MIMETypes::mimeTypes["vrt"] = "x-world/x-vrt";
	MIMETypes::mimeTypes["vsd"] = "application/x-visio";
	MIMETypes::mimeTypes["vst"] = "application/x-visio";
	MIMETypes::mimeTypes["vsw"] = "application/x-visio";
	MIMETypes::mimeTypes["w60"] = "application/wordperfect6.0";
	MIMETypes::mimeTypes["w61"] = "application/wordperfect6.1";
	MIMETypes::mimeTypes["w6w"] = "application/msword";
	MIMETypes::mimeTypes["wav"] = "audio/wav";
	MIMETypes::mimeTypes["wav"] = "audio/x-wav";
	MIMETypes::mimeTypes["wb1"] = "application/x-qpro";
	MIMETypes::mimeTypes["wbmp"] = "image/vnd.wap.wbmp";
	MIMETypes::mimeTypes["web"] = "application/vnd.xara";
	MIMETypes::mimeTypes["wiz"] = "application/msword";
	MIMETypes::mimeTypes["wk1"] = "application/x-123";
	MIMETypes::mimeTypes["wmf"] = "windows/metafile";
	MIMETypes::mimeTypes["wml"] = "text/vnd.wap.wml";
	MIMETypes::mimeTypes["wmlc"] = "application/vnd.wap.wmlc";
	MIMETypes::mimeTypes["wmls"] = "text/vnd.wap.wmlscript";
	MIMETypes::mimeTypes["wmlsc"] = "application/vnd.wap.wmlscriptc";
	MIMETypes::mimeTypes["word"] = "application/msword";
	MIMETypes::mimeTypes["wp"] = "application/wordperfect";
	MIMETypes::mimeTypes["wp5"] = "application/wordperfect";
	MIMETypes::mimeTypes["wp5"] = "application/wordperfect6.0";
	MIMETypes::mimeTypes["wp6"] = "application/wordperfect";
	MIMETypes::mimeTypes["wpd"] = "application/wordperfect";
	MIMETypes::mimeTypes["wpd"] = "application/x-wpwin";
	MIMETypes::mimeTypes["wq1"] = "application/x-lotus";
	MIMETypes::mimeTypes["wri"] = "application/mswrite";
	MIMETypes::mimeTypes["wri"] = "application/x-wri";
	MIMETypes::mimeTypes["wrl"] = "application/x-world";
	MIMETypes::mimeTypes["wrl"] = "configuration/vrml";
	MIMETypes::mimeTypes["wrl"] = "x-world/x-vrml";
	MIMETypes::mimeTypes["wrz"] = "configuration/vrml";
	MIMETypes::mimeTypes["wrz"] = "x-world/x-vrml";
	MIMETypes::mimeTypes["wsc"] = "text/scriplet";
	MIMETypes::mimeTypes["wsrc"] = "application/x-wais-source";
	MIMETypes::mimeTypes["wtk"] = "application/x-wintalk";
	MIMETypes::mimeTypes["xbm"] = "image/x-xbitmap";
	MIMETypes::mimeTypes["xbm"] = "image/x-xbm";
	MIMETypes::mimeTypes["xbm"] = "image/xbm";
	MIMETypes::mimeTypes["xdr"] = "video/x-amt-demorun";
	MIMETypes::mimeTypes["xgz"] = "xgl/drawing";
	MIMETypes::mimeTypes["xif"] = "image/vnd.xiff";
	MIMETypes::mimeTypes["xl"] = "application/excel";
	MIMETypes::mimeTypes["xla"] = "application/excel";
	MIMETypes::mimeTypes["xla"] = "application/x-excel";
	MIMETypes::mimeTypes["xla"] = "application/x-msexcel";
	MIMETypes::mimeTypes["xlb"] = "application/excel";
	MIMETypes::mimeTypes["xlb"] = "application/vnd.ms-excel";
	MIMETypes::mimeTypes["xlb"] = "application/x-excel";
	MIMETypes::mimeTypes["xlc"] = "application/excel";
	MIMETypes::mimeTypes["xlc"] = "application/vnd.ms-excel";
	MIMETypes::mimeTypes["xlc"] = "application/x-excel";
	MIMETypes::mimeTypes["xld"] = "application/excel";
	MIMETypes::mimeTypes["xld"] = "application/x-excel";
	MIMETypes::mimeTypes["xlk"] = "application/excel";
	MIMETypes::mimeTypes["xlk"] = "application/x-excel";
	MIMETypes::mimeTypes["xll"] = "application/excel";
	MIMETypes::mimeTypes["xll"] = "application/vnd.ms-excel";
	MIMETypes::mimeTypes["xll"] = "application/x-excel";
	MIMETypes::mimeTypes["xlm"] = "application/excel";
	MIMETypes::mimeTypes["xlm"] = "application/vnd.ms-excel";
	MIMETypes::mimeTypes["xlm"] = "application/x-excel";
	MIMETypes::mimeTypes["xls"] = "application/excel";
	MIMETypes::mimeTypes["xls"] = "application/vnd.ms-excel";
	MIMETypes::mimeTypes["xls"] = "application/x-excel";
	MIMETypes::mimeTypes["xls"] = "application/x-msexcel";
	MIMETypes::mimeTypes["xlt"] = "application/excel";
	MIMETypes::mimeTypes["xlt"] = "application/x-excel";
	MIMETypes::mimeTypes["xlv"] = "application/excel";
	MIMETypes::mimeTypes["xlv"] = "application/x-excel";
	MIMETypes::mimeTypes["xlw"] = "application/excel";
	MIMETypes::mimeTypes["xlw"] = "application/vnd.ms-excel";
	MIMETypes::mimeTypes["xlw"] = "application/x-excel";
	MIMETypes::mimeTypes["xlw"] = "application/x-msexcel";
	MIMETypes::mimeTypes["xm"] = "audio/xm";
	MIMETypes::mimeTypes["xml"] = "application/xml";
	MIMETypes::mimeTypes["xml"] = "text/xml";
	MIMETypes::mimeTypes["xmz"] = "xgl/movie";
	MIMETypes::mimeTypes["xpix"] = "application/x-vnd.ls-xpix";
	MIMETypes::mimeTypes["xpm"] = "image/x-xpixmap";
	MIMETypes::mimeTypes["xpm"] = "image/xpm";
	MIMETypes::mimeTypes["x-png"] = "image/png";
	MIMETypes::mimeTypes["xsr"] = "video/x-amt-showrun";
	MIMETypes::mimeTypes["xwd"] = "image/x-xwd";
	MIMETypes::mimeTypes["xwd"] = "image/x-xwindowdump";
	MIMETypes::mimeTypes["xyz"] = "chemical/x-pdb";
	MIMETypes::mimeTypes["z"] = "application/x-compress";
	MIMETypes::mimeTypes["z"] = "application/x-compressed";
	MIMETypes::mimeTypes["zip"] = "application/x-compressed";
	MIMETypes::mimeTypes["zip"] = "application/x-zip-compressed";
	MIMETypes::mimeTypes["zip"] = "application/zip";
	MIMETypes::mimeTypes["zip"] = "multipart/x-zip";
	MIMETypes::mimeTypes["zoo"] = "application/octet-stream";
	MIMETypes::mimeTypes["zsh"] = "text/x-script.zsh";
}

}
